package cn.com.trueway.proxy;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;

public interface Proxy {

    //方法执行前拦截
    Object logAround(ProceedingJoinPoint joinPoint) throws Throwable;

    //方法执行前
    void logBefore(JoinPoint joinPoint);

    //方法返回后
    void logAfterReturning(JoinPoint joinPoint,Object result);

    //方法执行后
    void logAfter(JoinPoint joinPoint);


    //方法抛出异常后
    void logAfterThrowing(JoinPoint joinPoint,Exception exception);
}
